


DBS Chess - A Chess Recorder program.








 






















Written by David B Sugden

Version 1.8,  April, 1997



Section	 Page	Section	Page




1. 	Introduction	3
1.1		Abstract.	3
1.2		Environment.	3
1.3		Conventions in this manual.	3
1.4		Installation.	4
1.5		Shareware.	5
1.6		Help.	5
1.7		Disclaimer.	5
2.	Holding Games.	6
2.1		Directory Structure.	6
2.2		Saving Games.	6
3. 	What you see.	7
3.1		Viewpoint.	7
3.2		Language.	7
3.3		Short Algebraic.	7
3.4		* & ? Moves Only.	7
3.5		International (as well).	7
3.6		Last Few Moves.	7
3.7		Board.	8
4. 	Starting Games.	8
4.1		New game.	8
4.2		Open Game.	8
4.3		Create Game.	9
4.4		Import from Clipboard.	9
4.5		Import from PGN file.	9
4.6		Search	10
4.7		Merging Games.	10
5.	Moves & Analysis.	11
5.1		Forced End.	11
5.2		Moving using the Board Display.	11
5.3		Moving using the Valid Moves list.	11
5.4		Game and Variation moves.	12
5.5		Autoplay.	12
6.	Navigating within the program.	13
6.1		Single Move Back.	13
6.2		Removal of Move(s).	13
6.3		Change Variation to Game Status.	13
6.4		Jump to an Earlier Move.	13
6.5		Jump to End of Game.	14
6.6		Jump to Start of Game.	14
6.7		Jump to Start of Variation.	14
7.	Comments.	15
7.1		Game Comments.	15
7.2		Move Comments.	15
7.3		Shortcut Comments.	15
7.4		Dates.	16
8.	Clipboard.	17
8.1		Printing.	18
8.2		Saving to a File.	18
8.3		Chess.DOT Template.	18
8.4		Keyboard Template.	19
8.5		Signature file - F8.	19
8.6		Email Composition - F6.	19
9.	Information.	19
9.1		Ages.	19
9.2		Result Analysis.	20
9.3		Games Summary.	20
9.4		Move Statistics.	20
9.5		Calendar.	20
9.6		Free memory.	20
9.7		Other Tasks.	20
9.8		About.	20
9.9		Material Balance.	20
10.	Variation display.	21
11.	Library.	22
Annex A.		DBS files.	23
Annex B.		DBSCHESS.INI file.	23
Annex C.		Library Files.	24
Annex D.		Bitmap files.	24
Annex E.		Restrictions & Limits.	24
Annex F.		Errors	24
Annex G.		Import Algorithm.	25
Annex H.		PGN Clipboard Output.	26
Annex I.		Function keys.	26
Annex J.		TRA (Figurine translation files).	27




1. 	Introduction

1.1		Abstract.

DBSCHESS is a program designed to record the moves and analysis of a chess game.  Typically it is 
used to analyse and record correspondence games, and to play through published games.  It specifically does 
not suggest the "best" move in a position, although it has sufficient chess knowledge to allow only legal 
moves to be examined and played. 

DBSCHESS can display moves in either long or short algebraic notation, optionally showing the 4 
digit international notation as well.  The piece symbols can be shown in English, French, German or Spanish 
abbreviations.

This manual was last updated on 14 April, 1997.  

The program was written by David B Sugden, using Borland Delphi*.  David B Sugden has sole 
copyright to the DBSCHESS program and associated items - with the exception of the translation of the Help 
system into German (for which he is indebted to Martin Hamacher) and additional bitmaps (such as the "Old 
German" set provided by Alan Cowderoy).

1.2		Environment.

DBSCHESS runs under the Windows environment, either Windows 3.1*, Windows 95* or 
Windows NT* 4.0.  A 386 or better processor is required, a co-processor is not.  There are no special 
memory requirements.  A minimum VGA 640*480 display should suffice, SVGA is recommended.

The program uses a mouse, only the left hand button is required.

1.3		Conventions in this manual.

References to special keys, e.g. Enter and Alt are given in italics.

Items that you should type during installation are given in bold characters, anything enclosed in { } on 
the same line is just an explanation - not to be typed.

Under Windows, you often choose a program function from a menu.  The notation File | New is used 
to mean click on the New entry within the File menu.  If you prefer to use key presses then having the Alt key 
held down whilst you press the underlined letter has the same effect, e.g. Alt/F followed by Alt/N in the 
current example.  However, I will omit the underlining in the manual from now on, it is in the program (and 
may not appear in non-Word* version of this documentation).

When a Button on the Toolbar is referred to, this means one of the 10 items on the line below the 
menu line having a red symbol on it.  To "press" a button on the screen, use the mouse to click on it.


1.4		Installation.

DBSCHESS is issued as a PKZIP* file named DBSZIP.EXE which is a "self expanding" executable 
program.  You will have obtained it either on a floppy disc or via the Internet.  Please for my peace of mind 
as well as yours, do virus check the software before use.

a)	Floppy disc (only).

As well as DBSZIP.EXE, the disc contains the minimum documentation files (just in case you 
want to read them before proceeding!) and a "cheap and cheerful" installation batch file to run under 
DOS*.  You need to decide where to keep DBSCHESS, in the following example I am using the 
disc C: and the directory DBSCHESS (which will be created).  Type ...

A:INSTALL  C:  DBSCHESS		{ note the spaces }

and then proceed to step (c).

b)	Internet (only).

	In this case you will only have downloaded the DBSZIP.EXE file.  Under DOS, you must 
create a new directory to hold DBSCHESS and then expand the contents of DBSZIP.EXE therein.  Amend 
C: and/or DBSCHESS if you wish to use somewhere else, but typically type ...

	C:					{ default disc }
	MD  DBSCHESS			{ make a new directory on C: }
	CD  DBSCHESS			{ position therein }
	C:\CSERVE\DOWNLOAD\DBSZIP  -D   -N	{ run with parameters, NB spaces }

If, instead of the self expanding EXE, you have downloaded a ZIP file (e.g. DBS17.ZIP), replace the 
last line above with
	PKUNZIP C:\CSERVE\DOWNLOAD\DBS17  -D  -N   

	I have assumed that the file was downloaded to C:\CSERVE\DOWNLOAD.  This procedure 
is also used to update DBSCHESS to a new version.  Note that the "-D  -N" parameters are needed to 
preserve the directory structure and overwrite old files.

c)	Running under Windows 3.1.

You should highlight the required program group (or create a new one) that is to hold the 
DBSCHESS icon.  Then use the File | New item of the Program Manager and select the new program 
item option.  

Give the Description as DBSCHESS.
Give the Command Line as C:\DBSCHESS\DBSCHESS.EXE	{or wherever the program 
lives}
Give the Working Directory as C:\DBSCHESS		{or wherever}

	This should give you an icon that you can double-click to run the program.

If you add a full filename as a parameter to the Command Line, this file is loaded at startup as if File | 
Open had been used.

Please consult your manual for the corresponding process under Windows 95.

Note that except for section (c) above, no changes are made to your system outside the DBSCHESS 
directory.

1.5		Shareware.

DBSCHESS is a Shareware program.  It is made available for you to try out for 30 days without 
charge or obligation.  At the end of that period you should either register the program or discontinue using it.  
If the program is registered, you receive the following benefits :-

*	The reminder screens are removed.
*	Certain limits on the program are removed.
*	This manual is made available in Word* 2.0 format.  Word can also export the manual in 
other formats, although some features may be lost.  Please consult DBS.
*	You can suggest future additions to the program's functions.
*	Future versions of the program are automatically available in registered mode at no additional 
cost.

Shareware authors rely on the integrity of the users of a program to reward their efforts.  Details of 
how to register are given in the README.TXT file that accompanies the program.

1.6		Help.

Delphi also allows me to provide hints in most places.  If you position the cursor in a given screen 
area, e.g. a toolbar button, a brief description will appear after a second if you keep the cursor stationary.  I 
am told that the novelty of this feature wears off quickly in the case of the chessboard image and valid move 
list - press the F9 key to remove these.

A standard Windows help file is included with the program.  If you press the F1 key at any time, the 
appropriate area of help appears.  Within the help environment you can follow links to related topics or 
search via keywords as usual.  Some of this manual contains material duplicated in the help system, but I've 
attempted to present it differently wherever possible.

The help system has been translated into German by M Hamacher, to whom I express grateful thanks.  
To change to the translated version, use the DOS commands :-

REN   DBSCHESS.HLP   ENGLISH.HLP	{ rename existing help file }
REN   DEUTSCH.HLP   DBSCHESS.HLP	{ convert it to the one DBSCHESS uses }

1.7		Disclaimer.

I have made every effort to make the program work as described and will endeavour to cure any 
problems that arise.  However, I cannot accept responsibility for any consequential damage caused in using 
this program.  The formal disclaimer statement is given in the README.TXT file.  As with any other 
software you install on your machine, you should virus check it before use. 


2.	Holding Games.

2.1		Directory Structure.

Although you can store games anywhere, I suggest that they are stored beneath the C:\DBSCHESS 
directory.  (From now on I will assume you have chosen this name, please substitute your choice as 
appropriate).  In particular only games stored in this way are included in the Library and Results evaluation - 
it starts from the directory holding DBSCHESS.EXE and then examines any subdirectories below that.  

After installing DBSCHESS for the first time you will find that \DBSCHESS contains various 
subdirectories.  All the ones having a name of the form xxxx.BMP hold bitmaps for alternative colours for 
the chess board and pieces.  There is also a subdirectory called EXAMPLES, holding 3 games and a second 
level subdirectory BCCA128 which holds further examples from issue 128 of the British Correspondence 
Chess Association magazine. 

I would suggest that you create a subdirectory GAMES at the level below DBSCHESS to hold your 
current games and archive subdirectories below that for completed games.  My set-up is of the form ...

               DBSCHESS 
           |              |
    EXAMPLES              GAMES
    |      |              |   |
BCCA128   DEEPBLUE        95  96

where \DBSCHESS\GAMES\95 holds my many losses, some draws and the occasional win from 
1995!

All DBSCHESS games are stored in files having a file extension DBS (Annex A gives further details).  
Personally, I number my games so my filenames are of the form nnnxxxxx.DBS where nnn is a serial number 
and xxxxx an abbreviated form of the opponent's name.


2.2		Saving Games.

A game may be saved at any time by using either the File | Save or File | Save As menu items.  A 
game consists of all the moves, analysis and comments, together with the notation and viewpoint currently in 
use.  The exception is the choice of long or short notation, this is held as a characteristic of yourself and is 
saved in the DBSCHESS.INI file so that it can be restored for the next DBSCHESS session.  

If you forget to save a game, either when you open or create a new one, or when you exit the 
program, you are asked if you wish to save the game before losing any alterations you have made.  If no 
alterations have been made, this is unnecessary - in which case there is no prompt.

If the File | BAK Backup files option is checked, the old version of the DBS file is retained with a 
BAK file extension.

F3 may be used as a shortcut to File | Save.


3. 	What you see.

The View menu gives you several choices for the manner of presenting the moves, both on the screen 
and in clipboard output.

3.1		Viewpoint.

You can orient the board by 
	*	View | White
	*	View | Black
	*	View | Side to Move
	*	View | Side Not to Move.  

Note that the last setting is preserved for the next time you look at that game.  The selected item is 
"checked" ( a * mark).  The toolbar XE "toolbar "  "rotating arrows" button exchanges a pair of the above 
options.

3.2		Language.

View | Language takes you to a screen giving you a choice of English, French, German or Spanish 
abbreviations for the piece notation of each move.  Note that this setting also controls Clipboard output and 
import.

3.3		Short Algebraic.

If View | Short Algebraic is checked, short notation is used.  This counts as a "user" characteristic, 
not just for the individual game;  the program starts up in the same mode next time.  To avoid ambiguity it is 
sometimes necessary to use moves such as Nfxd4 or R1a6.  The setting is preserved for the next run of the 
program.

3.4		* & ? Moves Only.

If View | * & ? Moves Only is checked, the list of all valid moves is truncated to show only any game 
and variation moves that have been already examined.  The setting is preserved for the next run of the 
program.

3.5		International (as well).

View | International (as well).  Subconsciously this was probably the reason for writing DBSCHESS!  
The author is so capable of making mistakes, especially when playing black in this notation, that he finds it a 
very useful feature.  In the international notation a move is given as a 4 digit value, the first 2 being the 
starting square, the last 2 the destination for a move.  Squares are numbered as 11=a1, 81=h1, 38=c8, 66=f6, 
etc.  If this option is checked, then this value is given in brackets after the usual notation.

3.6		Last Few Moves.

View | Last Few Moves produces a small display giving recent moves.  The display remains until you 
click the Cancel button within the panel.  This characteristic is saved as a user preference.  F7 is the shortcut 
key to toggle this setting.


3.7		Board.

The board display is generated from a collection of small bitmaps.  Apart from the default display (as 
per OLIV.BMP), there are a family of alternatives in the various subdirectories having names of the form 
xxxx.BMP.  If you wish to have a different coloured board then use Edit | Load XE "load"  bitmaps to 
select an alternative.  Depending on your graphics display some may be more suitable than others.  To make 
the choice permanent, choose the "yes" option when you are asked if you want this to become the default 
collection.  This simply overwrites the collection of *.BMP files in the DBSCHESS directory with the 
preferred set.

At present the piece representation is the same in all of them (except for the experimental 3D effort).  
Some alternative sets (courtesy of A Cowderoy) are available in Compuserve "The Chess" library #5.

The program will load a new bitmap set only if it is held in a subdirectory having a name of the correct 
form, immediately below the \DBSCHESS directory.

If you find the yellow hint associated with the board annoying, then press F9.  This preference is 
recorded for next time.

Edit | Reversed Knights makes the knights on the left-hand side of the board face inwards, another 
recorded preference.  Note that if you design your own bitmaps, then make the knights face left.

See Annex D for further details.


4. 	Starting Games.

A game may be ...
	*	A new game from the normal starting position.
	*	An existing game held in a disc file.
	*	A new game from an arbitrary position.
	*	Imported via the contents of the clipboard or PGN file.
	*	Constructed by merging existing games.

4.1		New game.

File | New gives you a completely new game from the normal starting position.  You are given a 
screen to fill in with the details for this game - they can be edited later if required.  The viewpoint defaults to 
White and English notation.  The usual practice for correspondence is to play a pair of games; when you are 
setting up the second game you are given an option to retain the previous players' names, reversing their 
colours.  F4 is a shortcut.

4.2		Open Game.

File | Open XE "open"  selects an existing disc file with a .DBS extension and loads its contents.  
The default directory is the DBSCHESS one, or the previous directory used by the program.  You double 
click through the directory structure in the normal way and then select the file.  Alternatively a recently saved 
game can just be chosen from the list at the bottom of the File menu or the full filename can be given as a 
parameter when running the program.

The game is positioned at the last "game" move recorded.  If the position is checkmate or stalemate, 
you will have to clear the notification display.  F2 is a shortcut to File | Open.

4.3		Create Game.

The File | Create gives you a bare board on which to place pieces, e.g. for an end-game tournament.

When you click on an empty square of the board a copy of the selected item appears - the currently 
selected item is shown on the right hand side of the display.

The currently selected item changes if
1)	You click on the available choice from the selection panel, or
2)	You click on an occupied square of the playing board.  In that case the board square becomes 
empty and the removed item becomes current.

You may not place a pawn on the first or last rows. You must finally have one King of each colour 
before the OK to use the set-up position.  The side whose turn it is to play must not be able to capture the 
opponent's King!

The player to move is adjusted by clicking on the "White to Move" control.  It is assumed that en 
passant is not possible on the first move, otherwise you can adjust what is available concerning castling by 
clicking on the other options.  Any obvious mistakes are corrected, but note that if a King and Rook are on 
their original squares and you tell me that it is not possible to castle, then I believe you.

In this type of game, if Black has the first move it is numbered as 1, the white reply being a move 2. 

The process then continues as for a normal New game.  If you are playing a pair of games from each 
side of a position, then File | Create, File | Save, Edit | Comments | Game and File | Save As.

4.4		Import from Clipboard.

If the clipboard holds a game in any reasonable notation including PGN, DBSCHESS will attempt to 
read it and create a collection of moves as a result of using File | Import.   

The complete method (as it stands in version 1.5) is given in Annex G.

If the process fails, I give you some indication of where I had got to in the contents of the clipboard.

4.5		Import from PGN file.

Collections of games in PGN text format are often available.  File | Import from PGN file reads the 
entire file and produces a list of the separate games - click on the required entry to import that game.  The 
text of that game is left in the clipboard.

You can also import a selection of the games - you must give the start and final game numbers and the 
name of a new subdirectory (folder) to be created below the \DBSCHESS (or whatever) level.  The games 
are given a filename of the form nnnn.DBS within the new subdirectory, where the number is that of the 
game within the PGN file and leading zeroes are added to give a 4 character name.



4.6		Search

You can find a game if you know some of the text that occurs in it.  This text could be part of the 
comment XE "comment" s for the game itself, or given against one of the moves (as a date or comment).  
The menu File | Text Search gives you a screen in which you place the text string to search for.  The search 
results in a list of games containing at least one instance of the text.  The search is carried out over all games 
held in the DBSCHESS directory and subdirectories thereof.

If you click on one of the games found, this game is opened.  If the text was found as a game 
comment, the game details screen is opened, otherwise the move of the game in which in the text was found.  
If the text occurs in several places in one game, a game comment will be found first, otherwise it simply 
depends on where it was found in the physical order of the saved file.

You can choose to note or ignore the difference between upper and lower case in the search by 
setting or clearing the "Match Case" box.  The "Text of Move as well?" box determines whether the search is 
to include the text of the move.  It is a little quicker to include the text of the move, but if you do so then a 
search for e4 is liable to find rather of lot of successes!  Note that the text of the move includes the move in 
both its short and long algebraic forms (e.g. a search for Nb4 will find the move Nb4-d6 even if you are 
working in short algebraic!).

4.7		Merging Games.

You can merge several games together, e.g. if you are playing in a thematic tournament and wish to 
have a summary of all the lines considered.  The first game opened is the only one which retains some of its 
moves as being of "game" status.  From a given game, if you then use File | Merge to specify another game, 
all moves from the latter that do not already occur in the existing game appear as variations.  Comments from 
the new game are only preserved if they concern the "additional" moves.  Repeated use of File | Merge 
allows many games to be combined.

A composite game is given the title MERGED.DBS, you will probably wish to use File | Save As to 
write it to disc under another name.

Note that if you merge games with little in common, you will end up with some very long "variations".


5.	Moves & Analysis.

Only legal chess moves may be made.  After a move is made, the new position and list of valid moves 
are displayed.  If a Library has either been Created or Loaded the new position is matched against other 
known positions and the number of "hits" displayed.

5.1		Forced End.

The help file contains definitions of checkmate and stalemate - if such as position arises as a 
consequence of making a move a message is generated.  Note that this possibility is not pointed out until the 
move is made, this is in keeping with the philosophy of DBSCHESS being a chess recorder and not an advice 
giver.

A game is drawn if 50 moves have occurred with neither a pawn move nor a piece capture.  This is 
simply reported when it occurs.

However the program does not detect the draw when the same position has occurred 3 times.  This is 
an option for which the player has to claim.  It was felt that the overheads necessary to make this check did 
not justify the infrequency with which these situations arise in correspondence games.

5.2		Moving using the Board Display.

The mouse can move pieces.  Position the cursor on the piece to move, hold the left-hand button 
down and drag the cursor to the required destination.

To castle, move the king to its new position.  For en-passant, move the pawn to its destination square.

If you promote a pawn, you are asked to specify the piece it turns into.

5.3		Moving using the Valid Moves list.

To the right of the board is a large box holding a list of the valid moves from the current position.  If 
there are many possibilities, you may have to scroll through the box to find the one you require.  The moves 
are simply sorted into alphabetic order - except that if there is a "game" move it comes first, followed by any 
known "variation" moves as defined below.  

To make one of these moves click on it using the mouse, or use the arrow keys to position and then 
Return.

If you click on a piece on the board, the list shows only the moves available to that piece.  Click off 
the board to return to the complete list.

The Page Down key will make the game move if one exists (unless editing).

Note that the moves not previously analysed can be suppressed by use of View | * & ? Moves Only.


5.4		Game and Variation moves.

By default, the first move you make from a given position is given the status of being the "game" 
move, i.e. the one actually played in the real game.  Its status is shown by an asterisk when it appears in the 
list of valid moves.

If you wish the first move from a position to be a variation (as opposed to having the default "game" 
status) then keep the Ctrl key down while it is being made.  This applies both to a move made directly with 
the mouse and by a selection from the list of valid moves.

If either a game or variation move already exists from the current position, the new move has 
variation status.  A variation move is shown by a question mark in the valid move list.  You may set up any 
number of variation moves from any position.

5.5		Autoplay.

Move | Autoplay lets you sit back and watch the game being played.  You may need to drag the 
control display to a more convenient position.  This display lets you alter the speed or freeze the play.




6.	Navigating within the program.

Some of these operations can be done in several ways, depending on your preferences.  N.B. If the 
cursor is positioned in the box that edits comments (as is the case after a move has been made), the 
movements keys Home and End perform edit functions.  You can move out of the editing box using Esc, Tab 
or the mouse.

6.1		Single Move Back.

*	Use the mouse cursor to press the toolbar button on the with a back arrow (*).
*	Use the Move | Back 1 Move item.
*	Use the Page Up key.

6.2		Removal of Move(s).

Stepping back does not remove the existence of the move, you will see it as one of the game or 
variation moves in the new valid list of moves.  If you wish to remove it from the recorded moves ...

a)	Convert its status into a variation move if it is a game move.  Do this by either by ...
	*	Press the *? button on the toolbar.
	*	Use Edit | Game to Variation.	
b)	Remove it - and all its subvariations by either by ...
	*	Press the toolbar button that has a crossed out question mark.
	*	Use Edit | Kill Variation.
	Choose the offending move from the list of variations that you are presented with.

I naturally have to remove all the later ones in subvariations as well, as they would otherwise not be 
connected to the game.

6.3		Change Variation to Game Status.

If you decide that the move which resulted in the current position should be revised to being a game 
status move either ...
*	Press the * button on the toolbar.
*	Use Edit | Game to variation.

The position currently displayed is now after the last game move.

6.4		Jump to an Earlier Move.

A display for Backtracking is obtained either by ...
*	Press the << button on the toolbar.
*	Use Move | Backtrack.

This display gives the moves from the start of the game to get to the current position.  The first 
variation move is highlighted.  Click on one of the moves shown to get to the position where it is one of the 
options.  Thus if you click on the highlighted move, you get to the position where the variation you are 
investigating diverged from the game.  Nothing is highlighted if all are game moves.


6.5		Jump to End of Game.

You can get to the position after the last known game move either by ...
*	Press the >> toolbar button.
*	Use Move | End of game.
*	Use the End key (unless editing).  Normally Esc End is needed.

6.6		Jump to Start of Game.

Either ...
*	Use the normal backtrack method (see section 6.4).
*	Move | Start of game.
*	Use the Home key (unless editing).  Normally Esc Home is needed.


6.7		Jump to Start of Variation.

Either ...
*	Move | Start of variation
*	Use the button with the thin double back arrow.

This backtracks through the game until a position is reached that has more than one game/variations 
stored.  The one from which you have come is highlighted.  If there is no suitable earlier position, you just get 
the error bleep.


7.	Comments.

Comments are free text that can be amended using standard conventions.  Use the mouse to position 
the cursor at the appropriate place to insert or delete characters (use normal keys for the former, Del for the 
latter).  If you drag the cursor across an area of text it is highlighted.  A highlighted area is copied to the 
clipboard by Ctrl/c and cut by Ctrl/x.  Ctrl/v pastes the contents of the clipboard.  Ctrl/z undoes the last edit.

Return (Enter) characters cannot be inserted as part of a comment.

The Home and End keys only work as editing keys if the comment box is the active area, i.e. the 
cursor is there.

7.1		Game Comments.

There is a free text area (maximum 255 characters) as the final item of the screen giving details for a 
new game.  This screen can be recalled for later amendment by use of Edit | Comments | Game Details.  The 
F11 key is a shortcut to this screen.

7.2		Move Comments.

Each move has an area of maximum size 128 characters for your comments.  It can be edited in 2 
ways ...
*	Working on the box below the box holding the list of valid moves
*	Use the Edit | Comments | Move Details.

The F12 key is a shortcut to this screen.

7.3		Shortcut Comments.

If you have a standard set of comments (or prefer to use the PGN NAG - "Numeric Annotation 
Glyphs"), you can set up a file called SHORTCUT.TXT in the same directory as DBSCHESS.EXE.  This file 
can be editted either by DBSCHESS or by a text editor.  Note that if you use a text editor, DBSCHESS will 
sort the file into alphabetic order later.

To add a short-cut comment into the current cursor position of the comment area in the main display 
of the program, press the F5 key.  You can then select the comment, either by typing the start of the phrase, 
or by using the mouse or cursor keys to select the required row of the list.  If you press the OK button or the 
return key it will add it to your comment area.  Alternatively just double-click the required row.  The Cancel 
button abandons the operation.

The selected row may be deleted using the "Delete selected row" button, or a new row added by 
typing it into the area normally used to select a row.  

The set of PGN NAG phrases is held in a file PGN_NAG.TXT available on David's homepage - you 
will have to rename it to SHORTCUT.TXT in the DBSCHESS directory.


7.4		Dates.

Originally I had intended to calculate the total time elapsed for the Game moves.  However, the rules 
concerning Sundays, Holidays and agreed Cessations make this far too complicated and variable.

I've just left the Move (Received and Sent) and Game (Start and Adjudication) fields as simple text 
areas for your convenience to fill in using the notation of your choice.  However, if it happens that you need 
today's date and either PGN or the day/month(year) format is acceptable, you can use one of the adjacent 
buttons.  If you click on the "Today" it changes into "Yesterday" (and vice versa).  Note that F12 is the 
quickest route to the date window and that F10 also sets the "Sent" date - see section 8.

If you amend the date received/sent for the last game move, the clipboard contents are automatically 
set as per the Correspondence option in section 8.

If you have ambitions to export the game in PGN, note the conventions as given in Annex H.  The 
Edit screens have PGN buttons to generate today's date in PGN format.

The F12 display will give you the previous values for the player if you are at a game move - this is 
useful if you include the time elapsed, e.g. by a format such as "dd mmm : total", to calculate the new value.



8.	Clipboard.

Either the game moves or the current board may be copied to the clipboard, e.g. for use for insertion 
into a word processor document or an e-mail message.  Choose an option from the window after the Edit | 
Copy to Clipboard menu.  

The current board position is copied as a bitmap or a crude text display that must be viewed in a 
fixed width font to make sense.  A third alternative uses a chess figurine font (e.g. the CHEQ_TT that is a 
public domain font) giving figurine characters instead of ordinary letters - but note that within DBSCHESS I 
am only generating the characters that are going to appear later in your chosen font.  CHEQ_TT.ZIP is 
available in the Compuserve library  (or DBS will send (registered) users a copy).  A problem with the 
figurine fonts is that different ascii characters are used to represent the various pieces and square 
backgrounds - so you are asked to choose from the list of *.TRA files that gives me a translation table for 
the font you propose to use.  The specification of the TRA files is in Annex J.  If you find a font for which I 
haven't got a TRA file prepared, please let me know & I'll get one to you.  A good starting point for your 
search for fonts is
 http://www.users.dircon.co.uk/~amscott/home.htm.

Forsyth is a text representation of the position, the PGN output is described in Annex H. 

The game moves are listed, without comments (unless you set the checkbox), in the following styles 
:-
EITHER   (Newlines)
		1.	e4	Nf6
		2.	e5	Nd5		
		etc.
(where there are tab characters between the move number and the moves).
OR	      (Semicolons)
	1.e2-e4, Ng8-f6;  2.  e4-e5, Nf6-d5;  etc.
OR	      (Variations)
	1.   e4
	1. ...   c5;  ( Nc6 ) (  e5 (  d4  exd4 ) ( Nf3 Nc6 Bc4 ) )
	2.   f4 ( Nf3 )
	2. ...   d6;  ( Nc6 )
OR	      (Correspondence)
 		23.	 d5-d6	 c7xd6
		24.	Nf3-e5	Qd8-e8
		25.	Qd1-f3	Ra8-b8

depending on the option chosen after Edit | Copy to Clipboard and whether you have opted for long 
or short algebraic notation.

In the semicolons option, the output does not consist just of one enormous string, but is broken up 
every hundred characters or so into separate records.  

The moves are preceded by the game details - except in the correspondence option when only the 
players' names are given.  

The correspondence option just gives the latest 3 move pairs and is designed for composing the reply 
to your opponent - so you must be positioned at the last game move.  I've done this deliberately to force 
myself to make sure that the game is in the correct state when I've decided on the move.  F12 is a shortcut to 
the Edit | Move window that sets up the clipboard when you give a date.  F10 is a simplified crude method 
of making the current position the "end of game", setting the "Sent" date to today and setting the clipboard 
for correspondence (there is no confirmation other than the OK beep).

The number of move pairs is 3 by default on loading the program.. You may subsequently change 
this value using Edit | Set # Clipboard Moves to increase it, or to force it just to give the single last move.  
The increased value may be useful if you want to give a conditional continuation (a bit of editing to insert the 
"if" is necessary later), the solitary move may be all that is required if you are playing online.

Analysis from View | Analysis or toolbar button A (see section 10) is given with tab characters 
separating the columns.  From this window you can either click the button to select everything or drag the 
mouse over the required area for a subset.

Note that the language notation used is that currently selected from the View | Languages menu.

8.1		Printing.

As of version 1.6 you can choose between direct printing (use File | Print Game) or composing your 
own layout with the various clipboard outputs and a word processor.  In version 1.7a the print routine was 
re-coded.   The new method also produces the board image as displayed on the screen at the time of printing.

The print routine has a Font selection to allow you to use a non-default font. If you change the size of 
the font, please note that the moves are still printed out in the same position on the page - don't make it too 
big!  There is also a File | Print Setup to choose a non-default printer.

I suggest that if you run your word processor to prepare documents, run DBSCHESS and the WP at 
the same time and (within Windows 3.1) use Alt/Tab to flip between the programs.

If, like myself, you have only a black & white printer, then load the BW.BMP bitmaps set to work in 
for the duration of the exercise.  In Word, I find that the appearance of the board image is greatly enhanced if 
you give it a thin/double line border.

8.2		Saving to a File.

If the clipboard contains text, its contents can be saved to a disc file by File | Save Clipboard.  The 
menu item is dimmed if the clipboard is not set or contains graphical information.  Note that File | Import 
from PGN File leaves the selected game in the clipboard.

8.3		Chess.DOT Template.

This is a Word template that I have found useful in producing the final hard copy of a game.  I start by 
using Word to open a new document with this template, double-click on the nnn area and overwrite it with 
the 3 digit number that starts my DBS filename (see last paragraph of section 2.1).

The 2 lines below the nnn have a wide left margin so that I can deposit the moves of the game therein 
and have plenty of room to punch holes for insertion of the page in a ring binder.  Edit | Copy to Clipboard 
and the "Moves with Newlines" option sets the clipboard from DBSCHESS and a bit of Alt/Tab gets me back 
to Word so that I can paste the moves below the nnn.

I then Alt/Tab back to DBSCHESS, load the BW.BMP bitmaps (as I only have a Black & White 
printer) and set the clipboard to hold the board image - usually at the final position.  This can then be pasted 
into the frame area with a double line border.  With Word in Page View, a bit of positioning may be necessary 
to make it look pretty, depending on the length of the game.

The CHESS.DOT file should be placed in your \WINWORD directory.  NB it comes with the manual 
in Word form that I send to registrants.

The alternative is to have a simple text printout produced by File | Print.

8.4		Keyboard Template.

Another bonus for registrants is the template (Word 2 format) that with the aid of a knife (and glue 
and cardboard for the heavy-duty version), you can print out and place on the keyboard to describe the 
function key usage.  If you edit it for other programs as well, I won't be upset.

8.5		Signature file - F8.

The F8 key copies the contents of a file SIG.TXT in the root directory (e.g. DBSCHESS) to the 
clipboard.  This is intended for use as a signature to go at the end of an e-mail message.

8.6		Email Composition - F6.

The Edit | Email Window or F6 shortcut key shows you the current contents of an internal edit area 
that can be altered either by any operation that sends text to the clipboard - or directly using the keyboard to 
alter the contents of the window.  The program keeps all text alterations to the clipboard as insertions in this 
separate area within the program.  For instance, if you have two game moves to send to an opponent, then 
two employments of the F10 key at the appropriate times will mean that both games details are created.  A 
further F8 for the signature file and a manual edit (use F6 and Crtl/Home to insert "Hi Chessfriend" at the top 
of the composition window) and you have created a new clipboard that contains the entire email to be sent.

If you alter the cursor position in the Email window, subsequent insertions are made at that point.

You can close this window either leaving the current clipboard contents unaltered, or set it to the 
accumulated Email window contents.

There is one exception, the F12 edit to set move details always sets the clipboard, but you have to set 
a flag to insert the amendment into the program's Email window.  This is because when you receive a move 
from your opponent, you will want to record the date on which it was sent, but do not wish to send the last 3 
moves up to that point back to him as well as the position after your move.



9.	Information.

9.1		Ages.

Info | Ages allows you to find out when the files in a selected directory were last amended - the age in 
days allows you to spot those opponents who seem to have given up playing.


9.2		Result Analysis.

Info | Results.  This depends on your filling in the result and your involvement in each game using the 
radio buttons that are on the display generated by File | New, File | Create or Edit | Comments | Game 
(F11).

Starting from the DBSCHESS directory and performing the calculation on each subdirectory below it, 
the total success rate is analysed - together with the count of unfinished and "non-involvement" games.

Personally, I find it annoying to go through all the games in a directory of "archived games" to find 
the one for which I have forgotten to edit in the result - hence the extra button to show/remove the list of all 
the ones defined as incomplete because the edit was omitted.

9.3		Games Summary.

Info | Games Summary sets the clipboard with a summary of all the games in \DBSCHESS and its 
sub-directories.  You may choose which of the fields are used.  Depending on the amount of text, you will 
have to adjust the tab positions for this output when you paste it into a word processor document.

9.4		Move Statistics.

Info | Move Statistics gives details about the moves in the current game and from the current 
position.

9.5		Calendar.

Info | Calendar is a Delphi  freebie that I thought might be useful to include.

9.6		Free memory.

Info | Free memory is given in units of around 222 bytes, the (worst case) amount I require to store a 
move.  As it includes the swap file availability you should see a nice large number!  It's smaller than it was in 
previous versions mainly due to the increased limit on the size of move comments.

9.7		Other Tasks.

Info | Other Tasks lists the other programs that can be reached by use of Alt/Tab.

9.8		About.

Help | About gives program details in the About box.  The important item is the version number.  This 
enables me to tell you "Oh, you haven't got the latest version where that old bug is cured"!

9.9		Material Balance.

The matrial diffrence (pardon my French!) is displayed by the plus/minus (  ) toolbar  XE "toolbar 
" button.  This is useful both for people like me who are too lazy to count all those pawns or to check if you 
haven't been swindled out of a piece at the end of an exchange sequence.  Cancel the display to return to 
normal.  Note that it shows the positive advantage - not the pieces removed from the board!


10.	Variation display.

This is obtained by pressing the toolbar button marked with the letter A or by  View | Analysis.

The problem with showing an arbitrarily complicated branching of possible moves is the way to list 
them.  My solution is first to sort the variations so that the "heaviest" one comes last - in the style of "this 
move is the way forward, if there is a short digression let's get it out of the way first before continuing".

From a given position the variation moves are called ?1, ?2, ?3, etc. (surprise!, but after 9 I go to ?a, 
?b, etc. - you must be a real enthusiast to need these).  The first subvariation of ?1 is ?11, the second 
subvariation is ?12.  Thus ?3122 is the second subsubsubvariation of the second subsubvariation of the first 
subvariation of the third variation of the current position!

Starting from a well known (i.e. initial) position, we could have :-

	?1	e2-e4
		?11	e7-e5
		?12	c7-c5
	?2	d2-d4
		?21	Ng8-f6
			?211	c2-c4
		?22	d7-d5
			?221	c2-c4
				?2211	d5xc4
	?3	Ng1-f3
		?31	Ng8-f6
			?311	d2-d4
				?3111	g7
			?312	g3
				?3121	g7
				?3122	d5
					?31221	Bg2
	
The analysis display uses indentations - until it gets too far to be readable.

If you decide to add a lot of moves to one variation line, note that it gets re-sorted to appear last - 
hence the numbering of the line may change.

To return from the analysis page to the normal graphical display, double click anywhere in the row 
describing the required move.

The default options for the display give variations and comments, and not dates nor international 
notation.  If you change these, it will also affect the output sent to the Clipboard.

Variation moves are all numbered, being preceded by the letter "w" or "b" to show a white or black 
move.  Game moves are shown only with the number if a white move.

Variations after the last game move are coloured red.  This shows the transition between variations 
that were alternatives to the last game move and those that might follow it.


11.	Library.

DBSCHESS has no ambitions to provide a large reference database of all chess openings.  It does 
however have the ability to see if the current position has occurred in any of your other games (those stored 
in the DBSCHESS directory and any subdirectories of it).  The test takes place continually after you have 
used either the Library | Create or Library | Load commands;  it is turned off by Library | Ignore.  The 
numbers of "hits" is displayed at the left hand end of the toolbar in a button.

Library | Create is a slow process, it involves looking at the positions in the existing games and 
producing new versions of the library files (see Annex C).  You are asked to give the depth to which games 
are analysed (the default is 24 half moves, i.e. on white's 13th move you would no longer expect to find a 
match).  The much faster process is Library | Load which just reads back the contents of the library files.  
However, whenever you save a new version of a game, the data in the library files refers to the old version 
and cannot be used - hence on Library | Load you are given a list of games that are no longer included in the 
search for "hits".  Eventually you will have to do another Library | Create to refresh the library files.

If you press the "hits" button a list of the other games appears which share the current position.  If 
you click on an item in the list you open the alternative game.  Note that you probably won't be able to return 
to the original game using this method if the original game is one under development and therefore not in the 
library!  (use the File | 1 filename entry).

In theory it is possible that a "hit" may be a false positive.  For efficiency of storage size and 
calculation speed, the entire position is not stored, only a compressed (hashed) value derived from it.  Whilst 
two or more positions can generate the same value, the spurious ones are unlikely to be anything that 
occurred in a chess game.

I see this facility as being useful in two ways :-

a)	When you have a flash of dja vu and don't want to make that horrible mistake on a second 
occasion.
b)	If you have a favourite opening, a dummy game with lots of variations could be constructed 
for reference.

If you leave the Library | Load on Startup menu item checked, the library is automatically loaded on 
subsequent startups of the program.

A given file can be marked so that it is not included in the library - use F11 or Edit |  Comments | 
Game Details.  A File | New game is so marked, on the assumption that as each time the next move is made 
and the game saved, its entry in the library would become obsolete.  Conversely, as File | Imported games are 
complete, these are not excluded by default.  If you have a whole collection of games that shouldn't be 
included in the library, the crude method of excluding them is to keep them in a directory/folder that isn't in or 
below \DBSCHESS.



Annex A.		DBS files.

Each game is stored in an individual file.  I use only printable characters with the exception of the field 
separator (FS = ASCII 28) - this means that you can examine the files with a normal text editor and transmit 
them over the Internet as "Text" files.  Although this is not an efficient way to store data, in practice the files 
are so small that little physical disc space is wasted (a single byte file could well be costing you 4K if your 
disc is organised that way).  When you back up these files, they are easy meat for any compressing algorithm 
such as used by PKZIP* or Microsoft Backup*

The format definition has been extended over various versions, but a later version of the program will 
always read older version formats (even if it has to convert it).

You are NOT encouraged to edit these files, I take no responsibility for any crashes you generate!  
However, for interest only and in case any other program writers wish to import these files we have ...

Record 1 : Game details separated by FS; white,black,tourney,start,adj,ref,comment, result/I_was
Record 2 : Number of move nodes followed by parameter letters ...
	W,B,M or N define viewpoint
	I if International checked
	E,S,F or G define language
	X if the file is to be excluded from the library.
	* if version 1.3 or later (short notation value recorded as well)
	# if a Created user position.
If record 2 contains # then there are 2 extra records ...
	Record 3 : 64 chars giving pieces on squares (easy to reverse engineer!)
	Record 4 : T=White move, F=Black, value to show castlings allowed.
Then come records, one per move node, with fields ...
	ID,parent ID,child ID,sibling ID,game(T) or var(F),received,sent,comment,long,short


Annex B.		DBSCHESS.INI file.

This file records settings to be used next time the program is run.  I have NOT used your Windows 
system files for this purpose.

Again, you are not encouraged to edit this file, but ...

Record 1 : S if short notation to be used (otherwise L), P if PGN clipboard output, * if only * & ? 
moves displayed, H if F9 toggled to suppress the hint on the board image.  I if the File | Open has been used, 
in which case an extra record follows giving the directory to use as the default.  R if the "reversed knights" is 
selected.  B if creation of BAK backup files selected.  F if the Last Few Moves is preferred.  O to load the 
library on startup.
Record 2 : Eight T or F characters to show recent file names in use or not.
Record 3-10 : File names concerned.




Annex C.		Library Files.

There are two library files in the DBSCHESS directory concerned with the calculation of "hits" of 
identical positions being the current position and other stored games.

LIBFILE1.DAT is a binary file holding names and creation dates for all the relevant games when the 
Library | Create was last carried out.  Do not edit this file.

LIBFILE2.DAT is a binary file holding hashed values for all the relevant games when the Library | 
Create was last carried out.  Do not edit this file.


Annex D.		Bitmap files.

These are standard BMP files each holding a 48 * 48 pixel sized picture.  You must create a family of 
26 such files in a directory having a name of the form x.BMP to be suitable for DBSCHESS to use as an 
alternative representation for the board image.

The help file gives more details.


Annex E.		Restrictions & Limits.

A non-trivial Windows swap file will give a total overkill for the storage requirements for moves and 
analysis of a game (see Info | Free memory).  There is no limit on the number of variations that may be 
analysed from a given position, other than ...

*	The actual number of legal moves from the position
*	The 35 limit for naming variations (?1 .. ?9, ?a .. ?z) if you look at them using the Analysis 
screen.

Note that the above refers to number of branches at any point, not the total number of variations.


Annex F.		Errors

The program has several places in which it can generate a DBSCHESS error from an internal 
inconsistency (as opposed to the places where you are told off for doing something incorrect).

You will never see any of these errors.  If/when you do, then please report it to me as quickly as 
possible!  The exact text of the error report and any clues as to what you were doing at the time would be 
greatly appreciated.


Annex G.		Import Algorithm.

The aim is to be able to accept the contents of the clipboard if it contains any of 

*	An output from the DBSCHESS program.
*	Any reasonable notation for the moves of a game.
*	PGN (Portable Game Notation) standard.

In the first phase, a search is carried out for the string "1.", i.e. the characters before the first move 
(without the quotes).  Up to this point everything is treated as comment except for PGN tags.  The following 
tags (which include the STR (Seven Tag Roster)) are specially treated ;-

Event, Site, Date, Round, White, Black, Result, TimeControl

*	Values in Event, Site & Round are combined to give a DBS Tourney.
*	Date & TimeControl become the Start Date and Adjudication Date.
*	White & Black are the same. 
*	Result sets the radio box control for the Game Result.

*	Other tags become a Comment (in the form TagSymbol : Value, e.g. ECO : B12), assuming 
that the limit of 255 characters is not exceeded.

The following rules are then applied to the moves of the game :-

*	White moves are preceded by the fullmove number and a period.
*	Black moves are optionally preceded by the fullmove number and more than one period.
*	Optional whitespace (space, tab, newline) characters are ignored.
*	The move in Short or Long Algebraic notation.
*	Optional + (for check), # (for checkmate), ep or e.p. (for en passant).
*	(Optional = followed by) The piece letter for pawn promotions.
*	Optional comma or semicolon.
*	PGN  "NAG" values (a dollar sign followed by a number) are ignored.
*	Comments are read into the Comment field of a move (note the 64 character limit on length, 
truncation takes place for long comments).

A comment is defined as a string enclosed by a pair of round, square or curly brackets.  Comments 
may not be nested.

Finally the result of the game may be given as 1-0, 0-1 or 1/2-1/2.  If this is in contradiction with the 
PGN tag, a message is generated.

From version 1.6 onwards, the period after a white move number may be omitted.  This means that 
you have to be more careful in choosing the clipboard contents to correctly start with the first "1 ".


Annex H.		PGN Clipboard Output.

One option of the Edit | Copy to Clipboard menu produces PGN format output, with the option to 
include comments (in curly brackets).

This option will automatically switch you into Short Algebraic notation and English Language if 
necessary for the duration.

The converse problems to those described in Annex G apply, so the Tourney value in DBS appears as 
the Event tag; the Site and Round tags are set to the undefined "?" value.  

If you use the Start Date and Adjudication Date values, it is your responsibility to use the 
"yyyy.mm.dd" format for PGN.  Similarly, White & Black names should be given as "Surname, Other 
names".

The Result tag is output, the end-of-game result value is not.


Annex I.		Function keys.

F1	Help.  The standard Windows help system is called with the English version as default.  To use 
the German version the DBSCHESS.HLP file should be overwritten with the contents of DEUTSCH.HLP.  
You will find that if F1 is pressed at certain points in the program, you will be sent directly to the relevant 
part of the help file.

F2	Shortcut to File | Open.

F3	Shortcut to File | Save.

F4	Shortcut to File | New.

F5	Insert (or edit) a Shortcut Comment (see section 7.3).

F6	Display "Email Composition" window.

F7	Toggle display of Last few moves.

F8	Signature file to clipboard.  The contents of SIG.TXT are sent to the clipboard, see 8.4.

F9	Toggles whether the help hint appears on the board and valid-move-list displays

F10	Makes the current position the end-of-game, adds the "today" date to the current move and 
sets the clipboard for the e-mail move.  

F11	Shortcut to Game details.

F12	Shortcut to Move  details.

A keyboard template is available in Word 2 format that may be useful if your have a standard 
keyboard - and have registered!


Annex J.		TRA (Figurine translation files).

There are several fonts that can produce symbols rather than letters of the alphabet, much a gothic 
font can do strange things to the way a letter appears.  There is a standard for which letters should be used to 
represent each of the required symbols (e.g. a Black knight on a light square), but there seems to be universal 
agreement that it should be ignored.  Therefore, I need a translation file to define the set of ascii characters to 
output to the clipboard to produce the display in whichever font you happen to be using.  As mentioned in 
section 8.1, http://www.users.dircon.co.uk/~amscott/home.htm. is full of details and gives you a means of 
obtaining some freeware fonts and information for purchasing others.

A TRA file consists of 4 lines of characters (it's a DBS standard, so please don't look for further info 
elsewhere<g>).

*	Line 1 is just the name of the font.
*	Line 2 gives the ascii characters that are used in the font to produce the symbols on the light 
coloured squares ...
empty, [pawn, rook, knight, bishop, queen, king], reversed white knight, reversed black knight
[where the group in [] are given first for white pieces and then repeated for black].
*	Line 3 similarly for the dark squares.
*	Line 4 gives the 9 characters needed for the border (the last 4 may well be spaces) ...
consistent width space, top, bottom, left, right, corner points top-left(tl), tr, bl, br.







	David B Sugden.  Apr, 1997
	DBSugden@compuserve.com
http://ourworld.compuserve.com/homepages/DBSugden








Page 21



